package cn.hou.java.designpattern._02single;

//双重检查
public class Person2 {
	
	private String name;
	
	//构造方法私有化
	private Person2(){}
	
	private static Person2 person;
	
	//提供静态访问,获取对象,线程不安全的,需要代码同步
	public static Person2 getPerson(){
		if(person==null){
			//只有这一段代码会阻塞,但是当person创建之后,其他线程都不会进到这里,不会阻塞
			//提高了性能
			synchronized (Person2.class) {
				if(person==null){
					return new Person2();					
				}
			}
		}
		return person;
	}
}
